This invention relates to data processing computers and more particularly to an improved method and apparatus for two-dimensional parallel data processing.
The concept of two-dimensional parallel data processing illustrated by the method and apparatus disclosed by U.S. Pat. No. 3,106,698 to Stephen H. Unger, greatly increases the speed and flexibility with which data can be processed as compared with apparatus in which data is processed serially bit by bit.
Two-dimensional parallel processing requires operation by a large number of commands on an even larger number of elements. In general, it is based on the informational content of each element and on its neighborhood of elements, the subsequent operations to be performed on each element being determined in accordance with the pattern of information contained in the neighboring elements.
The two-dimensional data processing method and apparatus of this invention is based on the evaluation of a given piece of information in terms of its own value and the values of the pieces of information surrounding it. A primary example of such processing is in photographic evaluation wherein the whiteness or blackness of a particular point is meaningful only in terms of its context. In fact, most photographic evaluations may be performed by determining the size and juxtaposition of significant regions of relatively constant light density. Another example of this type of processing is in the evaluation of cells taken from the human body or from animals used in medical research. In this type of evaluation, the size, shape and number of various types of cells is of critical importance.
Thus, the information which must be obtained from the two-dimensional data processor includes such items as the number of regions of a given size, the intersections between different types of regions, the size of continuous areas of similar informational content, etc. In general, this information can best be obtained from a system which is capable of providing information as to the interconnection of similar data points. In other words, the system must be able to "know" when a given piece of information is adjacent another similar piece of information; it must also be able to "know" whether the specific piece of information is simply one point of information included in a larger body of that information type or whether it is a unique point which connects two regions of similar information type and separates regions of different informational type, etc. A necessary concept for this mode of processing is that of "connectivity" of information. That is, it is important that the computer know whether or not a given piece of information contained in an element is necessary to maintain continuity between other similar bits of information in order to be able to carry out the basic processing procedures of shrinking, swelling, smoothing, outlining, or skeletonizing image areas, or of extending lines. Known systems based on the relation of the information in an element to information in neighboring elements around it in a square array involve an extremely high degree of complexity; each element must be able to determine the informational content of each of at least two different classes of neighbors--for example, four primary neighbors at the distance unity therefrom (unity being defined as the minimum distance between the points of a square array) and four secondary neighbors at the distance .sqroot.2 therefrom--and the element must be able to change its own state differently, depending on whether the same pattern of information is contained in one or the other of these classes of neighbors.